The Advanced Configuration and Power Interface (ACPI) is an open industry specification that describes industry-standard interfaces for configuration and power management on processing systems such as laptop, desktop, and server computers. Revision 3.0 of the ACPI Specification, dated Sep. 2, 2004, may be obtained from www.acpi.info/spec.htm. The ACPI specification describes various sleep states and global power states. The present invention, however, is not limited to ACPI-compliant systems, but may be used to advantage in any suitable processing system.
For purposes of this disclosure, a processing system can be in one of five power states:                the active state (referred to herein as “S0”);        a sleeping state in which random access memory (RAM) and the processor are both powered (referred to herein as “S1”);        a sleeping state in which random access memory (RAM) is powered but the processor is not powered (referred to herein as “S3”);        the non-powered sleeping state, in which neither RAM nor the processor are powered (referred to herein as “S4”); or        the off state (referred to herein as “S5” or “G0”).The sleeping states may also be referred to as sleep modes.        
In the off state, the system is powered down, and the system does not contain system context for restoring processes from an earlier active state. To transition from the off state to the active state, the boot firmware must initialize the hardware and boot an OS.
In the active state, the system dispatches and executes threads. The system typically responds to external events substantially in real time—subject to delays attributable to factors such as the workload and the performance limits of the processing system. Nevertheless, various performance and power characteristics of the system may be dynamically adjusted within the active state. For instance, the power state of individual devices within the system may be changed dynamically when the processing system is in the active state. The active state may also be referred to as active mode.
For purposes of this disclosure, when a processing system is in a sleeping state, the processing system does not execute user mode threads, and the system consumes less power than in the active state. The system may appear to be off, in that various peripheral devices or indicators (e.g., the display, certain light emitting diodes (LEDs), etc.) may be powered down. In some circumstances, the processing system may consume no power or substantially no power in a sleeping state. To resume is to transition from a sleeping state to the active state.
A processing system may have security features that implement or provide a trust model when the processing system is active. For instance, the trust model may include verified measurements of a virtual machine monitor (VMM) and one or more secure virtual machines (VMs). For purposes of this disclosure, a secure VM is a virtual machine that performs some security operations and must require isolation from other virtual machines within the processing system and from other processing systems.
The Intel® Trusted Execution Technology Preliminary Architecture Specification, dated November 2006, (hereinafter the “Intel® TXT Specification”) provides details for implementing and/or using security features pertaining to such trust models. The Intel® TXT Specification is currently available at www.intel.com/technology/security.
Some of the security features of the processing system, however, may be off during S3, S4, and S5 states, when the processor and chipset are off. The present disclosure introduces technology for re-establishing the security and the trust model of a processing system when the processing system resumes from one or more sleep states.